package buildcode.config;

import java.util.ArrayList;
import java.util.List;

import buildcode.build.IPlugin;
import buildcode.language.Type;

public class EntityExportConfig {
    private String srcLocation;
    private String packageName;
    private String suffix = "";
    private String tpl;
    private String exportFileType = "java";
    private String contextId = "";
    private String fileName;
    private List<Type> importTypes = new ArrayList<Type>();
    private List<IPlugin> plugins = new ArrayList<IPlugin>();

    public EntityExportConfig() {
        super();
    }

    public EntityExportConfig(String srcLocation, String packageName, String suffix, String tpl) {
        super();
        this.srcLocation = srcLocation;
        this.packageName = packageName;
        this.suffix = suffix;
        this.tpl = tpl;
    }

    public EntityExportConfig(String srcLocation, String packageName, String suffix, String tpl, String exportFileType) {
        super();
        this.srcLocation = srcLocation;
        this.packageName = packageName;
        this.suffix = suffix;
        this.tpl = tpl;
        this.exportFileType = exportFileType;
    }

    public String getPackageName() {
        return packageName;
    }

    public void setPackageName(String packageName) {
        this.packageName = packageName;
    }

    public String getSuffix() {
        return suffix;
    }

    public void setSuffix(String suffix) {
        this.suffix = suffix;
    }

    public String getTpl() {
        return tpl;
    }

    public void setTpl(String tpl) {
        this.tpl = tpl;
    }

    public String getSrcLocation() {
        return srcLocation;
    }

    public void setSrcLocation(String srcLocation) {
        this.srcLocation = srcLocation;
    }

    public String getContextId() {
        return contextId;
    }

    public void setContextId(String contextId) {
        this.contextId = contextId;
    }

    public String getExportFileType() {
        return exportFileType;
    }

    public void setExportFileType(String exportFileType) {
        this.exportFileType = exportFileType;
    }

    public List<Type> getImportTypes() {
        return importTypes;
    }

    public void setImportTypes(List<Type> importTypes) {
        this.importTypes = importTypes;
    }

    public String getFileName() {
        return fileName;
    }

    public void setFileName(String fileName) {
        this.fileName = fileName;
    }

    public List<IPlugin> getPlugins() {
        return plugins;
    }

    public void setPlugins(List<IPlugin> plugins) {
        this.plugins = plugins;
    }

    public void addPlugin(IPlugin plugin) {
        this.plugins.add(plugin);
    }

}
